package demo.day10;

/**
 * @Auther: hjy(lc))
 * @Date: 2022/7/28-07-28-14:12
 * @Description：demo.day10    static 关键字
 */
public class static_use {
    //静态属性   所有对象共享这个变量
    private static int a = 1;
    //静态代码块优先于main方法执行
    static {
        System.out.println(a);
        a = 10;
    }
    public static_use(){
        print();
    }
    public static void main(String[] args) {

        //System.out.println(a);
        //可以直接类名调用静态属性/方法
        //也可以对象调用静态属性/方法
        System.out.println(static_use.a);
        //如果不调用A类中的静态属性/方法，则A类不会被初始化
       // A.test();    //A.static initializer  /n  aaaaaaaa
        //new A().test2();
    }
    public void print(){
        System.out.println("static_use.print    "+ a);
    }
}
class A{
    private static int b = 5;
    public A(){
        System.out.println("AAAAAAA");
    }
    static {
        System.out.println(b);
        System.out.println("A.static initializer");
    }
    public static void test(){
        System.out.println("aaaaaaaa");
    }
    public void test2(){
        System.out.println("A.test2");
    }
}
